One challenge in maintaining computer system images is providing support for new or existing hardware platforms. The challenge of maintaining computer system images increases with company scale, particularly with organizations that maintain several computer system images and use a broad number of personal computer and server hardware models. Standardizing hardware models becomes increasingly complex for companies with a worldwide presence, as import/export costs and restrictions may drive the hardware procurement process to involve local vendors.
Conventionally, adding or updating device drivers and hardware-specific applications requires recapturing and/or servicing of computer system images deployed at computers at various locations. As a result, after the computer system images have been updated, computer system images need to be re-replicated to all distribution points, such as to network attached storage, and offline media, e.g., compact discs (CD) or digital versatile discs (DVD).
Modifying computer system images has traditionally been handled in one of two ways, each with associated costs. In a first way, an organization may choose to lower management cost and complexity by managing only a single gargantuan computer system image that includes every driver and application for each and every computer within the organization. For example, an IT staff can create one large computer system image that contains an operating system, productivity and line-of-business software, and all of the drivers for all of the different computers, as well any specialized software required by any of the computers, such as software used by a biometric authentication reader.
Given the multiplicity of hardware permutations possible for all combinations of hardware on the target computers, the aggregate size of all of these files in the computer system image can be enormous. The size of the computer system image may create costs in the time involved to deploy the computer system image to the target computers, as well as in network bandwidth consumed during communication of the large computer system image over a network. Moreover, the computer system image may include hardware-specific applications associated with a particular hardware device, such as a modem, a DVD movie player, a CD/DVD burning program, or a touchpad application, that may be used by some but not all of the target computers. Licensing constraints also may prohibit broad distribution of some hardware-specific applications. Including such hardware-specific applications in the computer system image may violate a license agreement and also may lead to a hardware-specific application being installed on one or more computers that do not have the hardware required to use the hardware-specific application. Complicating this method, operating systems and applications continue to grow in size, which creates a larger computer system image, thus making replication of the computer system image via a network very costly.
A second way of modifying computer system images involves creating multiple, smaller computer system images. Smaller images are easier and less costly to replicate and deploy across a network. For example, the IT staff may opt to save time and bandwidth during an upgrade of target computers by preparing a number of smaller computer system images, such as one image for all laptop configurations, one image for all tablet configurations, and one image for all desktop configurations. However, the time and money saved by the organization in reduced bandwidth and deployment time can easily be lost due to the increased cost and complexity of creating, managing, and administering multiple computer system images during a single upgrade.
A further challenge with modifying computer system images is that the complexity of installing an appropriate driver increases with the number of different models of hardware devices being used by the computers of the organization. Computer manufacturers frequently purchase a hardware device from original equipment manufacturers (OEMs) and may customize device driver software associated with the hardware device. A conflict may occur during installation of a computer system image on a computer when more than one hardware vendor purchases the same hardware device from an OEM, and then customizes the device driver software for the hardware device. Adding multiple device driver sets to a computer system image often results in a driver file conflict if several of the driver files have the same name. For example, a conflict may occur if hardware vendor #1 and hardware vendor #2 both purchase the same video controller chip from an OEM, and hardware vendor #1 decides to add custom functionality and change the device driver software. Even if both device driver files have unique file names, device enumeration and installation is left to chance, as the computer may install whichever device driver file is first evaluated against the hardware device, regardless of whether this is the desired device driver software for the hardware device. In the end, a customized device driver intended for models manufactured by hardware vendor #1 may be installed on a hardware vendor #2 computer, and vice versa.
These and other problems may exist in conventional systems.